using System;

using JetBrains.Annotations;

namespace octalforty.Componento.Commands
{
    [BaseTypeRequired(typeof(ICommand))]
    public sealed class CommandAttribute : Attribute
    {
        public string Name
        { get; private set; }

        /// <summary>
        /// Semicolon-separated list of aliases for the current command.
        /// </summary>
        /// <example>
        /// <c>cp;mv;mov</c>
        /// </example>
        public string Aliases
        { get; set; }

        public string Description 
        { get; set; }

        public CommandAttribute(string name)
        {
            Name = name;
        }
    }
}